<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			
			
		// 	var num = 100;
		// 	function outer(){
		// 		console.log("num1 ="+num) ; //
		// 		// var num = 200;
		// 		//如果没有使用var定义，则浏览器认为变量是声明在window（全局）
		// 		var num = 200;  //在outer 方法是存在 num变量的
		// 		console.log("num2 ="+num)
		// 		function innerFunction(){
		// 			var num = 300;
		// 			console.log("num3 ="+num)
					
		// 		}
		// 		//内部方法
		// 		innerFunction();
		// 	}
		// 	outer();
		
		// 	console.log("num4: "+num);
			
			
			
			
			
			
			/**
			 * 通过let 限制变量的作用域
			 */
			let num = 100;
			function outer(){
				console.log("num1 ="+num) 
				// var num = 200;
				//如果没有使用var定义，则浏览器认为变量是声明在window（全局）
				let num = 200;
				console.log("num2 ="+num)
				function innerFunction(){
					let num = 300;
					console.log("num3 ="+num)
					
				}
				//内部方法
				innerFunction();
			}
			outer();
				
			console.log("num4: "+num)
			
			
		</script>
		</head>
	<body>
		
		
		
	</body>
</html>
